home *** CD-ROM | disk | FTP | other *** search
- #define Atom 256 /* token Atom (an impossible char value) */
- #define Epsilon 257 /* epsilon arc (an impossible char value) */
-
- /* track field must be same for all node types */
- typedef struct _a {
- struct _a *track; /* track mem allocation */
- int label;
- struct _a *next;
- struct _n *target;
- } Arc, *ArcPtr;
-
- typedef struct _n {
- struct _n *track;
- ArcPtr arcs, arctail;
- } Node, *NodePtr;
-
- typedef struct {
- NodePtr left,
- right;
- } Graph, *GraphPtr;
-
- #ifdef __STDC__
- int rexpr( char *expr, char *s );
- int match( NodePtr automaton, char *s );
- #else
- int rexpr();
- int match();
- #endif
-
-
-